Virtualization and software defined networking (SDN) technologies are currently changing the principles and used practices in computing and networking areas. Cost reduction in computing and storage areas has been achieved by means of server virtualization in multitenant virtualized data centers. Server virtualization decouples operating system from underlying hardware and offers each tenant a pool of isolated virtualized resources that can be provisioned on-demand and workload can be balanced within and across data centers.
Network Functions Virtualization (NFV)—an operator-led ETSI ISG—aims to use standard IT virtualization technology to implement network functions in software and utilize standard high volume servers, switches and storage located in datacenters and network nodes.
In the networking area, SDN is an approach that allows dynamic network configuration in real-time. OpenFlow protocol that is developed by Open Network Foundation (ONF) is an example of dynamic programming between logically centralized controller and packet forwarding switch.
When applying virtualization and SDN principles to evolved packet core (EPC) packet gateways (S/P-GW), control functionalities are virtualized and implemented in the cloud. Fast path packet processing and GTP termination is separated from the control functions by using OpenFlow protocol. GTP termination can be implemented either in the fast path (possibly located in a distant site) with dedicated hardware or in the general purpose hardware in the cloud.
Typically, in virtualized gateways, where user plane handling is separated from control plane functionalities, all 3GPP signaling interfaces are terminated to the S/P-GW control element. During an attach procedure, “Create session request” message from S1 interface triggers a creation of GTP encapsulation and decapsulation flows to the selected user plane switch. In order to do this, S/P-GW control element communicates with OpenFlow controller via Northbound API. OpenFlow controller together with OpenFlow protocol may be the enabler of the communication between control plane and user plane.
One problem is that flow entries that implement GTP encapsulation/decapsulation are user specific (each UE has GTP TEID and IP address of its own) and it is not possible to aggregate them. This means that the user plane switch has to hold state for each active UE. However, the size of flow tables in the switches is limited. One solution is to terminate all sessions with low bandwidth and non-real time traffic (e.g. M2M contexts) to the cloud and keep only sessions that have real time, high bandwidth traffic in the fast path.